package com.panda.system.service;

import com.panda.common.core.domain.AjaxResult;
import com.panda.system.domain.PandaTask;
import com.panda.system.dto.DistributionTaskDto;

import java.util.List;

/**
 * 任务信息Service接口
 * 
 * @author ruoyi
 * @date 2021-01-02
 */
public interface IPandaTaskService 
{
    /**
     * 查询任务信息
     * 
     * @param taskId 任务信息ID
     * @return 任务信息
     */
    public PandaTask selectPandaTaskById(Long taskId);

    /**
     * 查询任务信息列表
     * 
     * @param pandaTask 任务信息
     * @return 任务信息集合
     */
    public List<PandaTask> selectPandaTaskList(PandaTask pandaTask);

    /**
     * 新增任务信息
     * 
     * @param pandaTask 任务信息
     * @return 结果
     */
    public AjaxResult insertPandaTask(PandaTask pandaTask);

    /**
     * 修改任务信息
     * 
     * @param pandaTask 任务信息
     * @return 结果
     */
    public int updatePandaTask(PandaTask pandaTask);

    /**
     * 批量删除任务信息
     * 
     * @param taskIds 需要删除的任务信息ID
     * @return 结果
     */
    public AjaxResult deletePandaTaskByIds(Long[] taskIds);

    /**
     * 删除任务信息信息
     * 
     * @param taskId 任务信息ID
     * @return 结果
     */
    public int deletePandaTaskById(Long taskId);

    /**
     * 导入任务
     *
     * @param list 任务信息ID
     * @return 结果
     */
    public AjaxResult importTask(List<PandaTask> list);

    /**
     * 分配任务信息
     *
     * @param distributionTaskDto 任务信息ID
     * @return 结果
     */
    public AjaxResult distributionTask(DistributionTaskDto distributionTaskDto);

    /**
     * 判断是否还有待处理任务
     * @param taskId
     * @return
     */
    public boolean checkTodoTask(Long taskId);


    void failureTask(List<PandaTask> list);
}
